layui.use(['form', 'layedit', 'upload'], function(){
        var form = layui.form,layer = layui.layer,upload = layui.upload;
        var editor = editormd("blog-editor", {
            width   : "90%",
            height  : '350px',
            syncScrolling : "single",
            path    : "/editormd/lib/",
            saveHTMLToTextarea : true, // 保存 HTML 到 Textarea
            toolbarAutoFixed:true,//工具栏自动固定定位的开启与禁用
            tex : true, // 开启科学公式TeX语言支持，默认关闭
            flowChart : true, // 开启流程图支持，默认关闭
            imageUpload : true,
            imageFormats : ["jpg", "jpeg", "gif", "png", "bmp", "webp","pdf","doc"],
            imageUploadURL : "/file/uploadImage",
            onload : function() {
                initPasteDragImg(this); //必须
            }
        });

        //自定义验证规则
        form.verify({
            title: function(value){
                if(value.length < 5){
                    return '标题至少得5个字符啊';
                }
            },
            blogContent: function(value){
                if(value.length < 0){
                    return '请输入内容';
                }
            }
        });

        //监听提交
        form.on('submit(blog)', function(data){
            var htmlContent = editor.getMarkdown(); //获取编辑器源码内容
            var tagIds = [];
            $('input[type=checkbox]:checked').each(function() {
                tagIds.push($(this).val());
            });
            var params = {
                'id': getReqUrl('id'),
                'title': $('input[name="title"]').val(),
                'typeId': $('#js-blog-typeId input[name="typeId"]:checked ').val(),
                'coverPhoto':  $('input[name="coverPhoto"]').val(),
                'tagIds': tagIds,
                'content': htmlContent
            };
            $.ajax({
                type: 'POST',
                beforeSend: function() {
                    layer.load(2);
                },
                url: '/blog/addOrUpdateBlog',
                data: JSON.stringify(params),
                dataType: 'json',
                contentType: 'application/json; charset=UTF-8',// 解决415错误
                success: function (res) {
                    if(res.code == '200') {
                        layer.closeAll("loading");
                        //跳转页面
                        //setTimeout(function(){parent.window.location.reload();},100);
                        location.href = '/admin/blogInfo.html';
                    }
                },
                error: function() {
                    layer.closeAll("loading");
                }
            });
            return false;
        });


        //上传封面照片
        upload.render({
            elem: '.coverPhoto',
            before: function(obj){ //obj参数包含的信息，跟 choose回调完全一致，可参见上文。
                layer.load(); //上传loading
            },
            size: 1024*2, //10M
            field: 'editormd-image-file', //文件域名
            done: function(res, index, upload){
                //执行上传请求后的回调。返回三个参数，分别为：res（服务端响应信息）、index（当前文件的索引）、upload（重新上传的方法，一般在文件上传失败后使用）
                if(res.success == 1) {
                    var imageUrl= res.url;
                    $('#blog-coverPhoto').attr('src',imageUrl);
                    $('input[name="coverPhoto"]').val(imageUrl);
                }
                layer.closeAll('loading'); //关闭loading
            },
            error: function(index, upload){
                layer.closeAll('loading'); //关闭loading
            }
        })

        form.render(); //渲染页面
    });

function queryBlogDetail(id) {
    $.ajax({
        type: 'POST',
        url: '/blog/queryBlogDetail',
        dataType: 'json',
        data: JSON.stringify({'id': id}),
        contentType: 'application/json; charset=UTF-8',// 解决415错误
        success: function (res) {
            if('200' == res.code) {
                var detailData = JSON.parse(decrypt(res.data,'17E0380EC0138697'));
                $.each(detailData,function (key,val) {
                    $("input[name = 'title']").val(val.title);//标题回显
                    var typeId = val.typeId;
                    $("input[name = 'typeId']").each(function () {//分类回显选中
                        if(this.value == typeId) {
                            this.checked = true;
                        }
                    })
                    //标签复选框在加载分类时候回显
                    showBlogTag(val.tagIds);
                    //封面照片回显
                    $('#blog-coverPhoto').attr('src',val.coverPhoto);
                    $('input[name="coverPhoto"]').val(val.coverPhoto);
                    $("textarea[name = 'blogContent']").val(val.content);
                });
            }
        }
    });
}

/**
 * 标签回显
 */
function showBlogTag(tagIds) {
    $.each(tagIds,function (k,v) {
        $("input[name = 'blogTag']").each(function () {
            if(this.value == v) {
                this.checked = true;
            }
        })
    })

}
